package level02.six;

import java.io.FileWriter;
import java.io.IOException;
import java.util.*;

/**
 * 使用集合存储 10 个 1-50(含 50)的随机偶数元素,要求数字不能重复,按指定格式输出到 C 盘的
 * num.txt 中,例如: 48,44,40,38,34,30,26....
 */
public class Test {
    public static void main(String[] args) throws IOException {
        //先产生随机数
        Random random = new Random();
        //定义一个长度为10的集合
        HashSet<Integer> hashSet = new HashSet<>();
        //把符合条件的数字添加到集合中
        while (hashSet.size() < 10){
            int a = random.nextInt(50) + 1;
            if (a % 2 == 0) {
                hashSet.add(a);
            }
        }
        //hashset是无序的，转为arraylist进行排序
        ArrayList<Integer> arrayList = new ArrayList<>(hashSet);
        //实现倒序排序
        Collections.sort(arrayList,Collections.reverseOrder());
        //把集合中的元素添加到文件中
        FileWriter fileWriter = new FileWriter("num.txt");
        for (Integer integer : arrayList) {
            fileWriter.write(integer.toString());
            fileWriter.write(",");
        }
        //关闭流（字符流不关闭是存在内存中）
        fileWriter.close();
        System.out.println("写入成功");
        System.out.println(arrayList);
    }
}
